Reading and displaying of dynamic machine-readable optical representation of data

ABSTRACT

Methods are disclosed for reading and displaying dynamic machine-readable optical representations of data. An example method includes: capturing a current frame of a plurality of frames with an optical sensing device, wherein each of the plurality of frames comprises syncdata and a portion of a data payload; decoding the syncdata and the portion of the data payload of the current frame, using a processor operatively coupled with the optical sensing device; storing the portion of the data payload of the current frame in a memory operatively coupled with the processor; determining whether all of the plurality of frames have been captured, based on the decoded syncdata, using the processor; if all of the plurality of frames have been captured, combining each stored portion of the data payload into the data payload, using the processor; and, if all of the plurality of frames have not been captured, repeating the above steps.

TECHNICAL FIELD

This application generally relates to reading and displaying of encodedinformation. In particular, this application relates to reading anddisplaying information encoded in a dynamic machine-readable opticalrepresentation of data.

BACKGROUND

Machine-readable optical representations of data are an intrinsic partof modern life. For example, barcodes, which store data in onedimension, are ubiquitous in retail where they are used to store productand price information and to track inventory, allowing for a speedytransaction. More recently, various types of matrix codes, the mostcommon being the QR code, have been developed. Like barcodes, matrixcodes store data as an optical representation. However, matrix codesstore data in two dimensions, resulting in what generally appears as agrid of black and white squares, though implementations using othershapes and colors have been developed.

While optical representations of data such as the QR code are easy todisplay and read, they suffer from a limited data capacity. For example,a QR code implementing Version 40 of the QR standard and using thelowest possible error correction, since higher error correction furtherlimits the code's data capacity, is capable of storing only 4,296alphanumeric characters. Of course, QR codes and the like are notlimited to storing alphanumeric characters, but capacity is furtherlimited when more complex data types are stored. For example, a QR codewith the same specifications as above could store only 1,817 Japanesecharacters.

Theoretically, one could design a matrix code with an arbitrarily highcapacity by increasing its physical size and resolution. In practice,however, the size of a matrix code is limited by its display medium,which may often be no more than the corner of a small piece of paper.Furthermore, the resolution of a matrix code is limited by, among otherthings, the need to be easily readable by a variety of devices, such assmartphone cameras. For example, if the resolution of a matrix code istoo high, its data-containing elements (e.g., squares, in the case of aQR code) may be too small to be correctly captured by a smartphonecamera or other reading device.

SUMMARY

The appended claims define this application. The present disclosuresummarizes aspects of the embodiments and should not be used to limitthe claims. Other implementations are contemplated in accordance withthe techniques described herein, as will be apparent to one havingordinary skill in the art upon examination of the following drawings anddetailed description, and these implementations are intended to bewithin the scope of this application.

A method includes: capturing a current frame; decoding a syncdata and aportion of the data payload of the current frame; storing the portion ofthe data payload of the current frame in memory; determining whether allof the frames have been captured; combining each stored portion of thedata payload into the data payload, if all of the frames have beencaptured; and, if all of the plurality of frames have not been captured,repeating the above steps.

Another method includes: sending an activation signal to a displaydevice; capturing a current frame; decoding a syncdata and a portion ofthe data payload of the current frame; storing the portion of the datapayload of the current frame in memory; determining whether a finalframe has been captured; combining each stored portion of the datapayload into the data payload, if the final frame has been captured;and, if the final frame has not been captured, repeating the abovesteps.

Another method includes: displaying a current frame; determining a nextframe number; updating a current frame number to equal the next framenumber; determining a frame display rate; holding the current frame onthe display for a time, based on the display rate; and repeating theabove steps.

Another method includes: receiving an activation signal; displaying acurrent frame; determining whether the current frame is a final frame;determining a next frame number; updating the current frame number toequal the next frame number, if the current frame is not the finalframe; determining a display rate; holding the current frame on thedisplay for a time, based on the display rate; and repeating the abovesteps if the current frame is not the final frame.

Another method includes: receiving a data payload; determining aquantity of frames; generating a plurality of frames of the quantity,wherein each of the frames includes syncdata and a portion of the datapayload; and displaying each of the plurality of frames sequentially.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the invention, reference may be made toembodiments shown in the following drawings. The components in thedrawings are not necessarily to scale and related elements may beomitted, or in some instances proportions may have been exaggerated, soas to emphasize and clearly illustrate the novel features describedherein. In addition, system components can be variously arranged, asknown in the art. Further, in the drawings, like reference numeralsdesignate corresponding parts throughout the several views.

FIG. 1 is a physical depiction of an example use of a dynamicmachine-readable optical representation of data.

FIG. 2 is a diagram of an example frame of a dynamic machine-readableoptical representation of data.

FIG. 3 is a timeline illustrating the timing of an example loopingdynamic machine-readable optical representation of data.

FIG. 4 is a timeline illustrating the timing of an example non-loopingdynamic machine-readable optical representation of data.

FIG. 5 is a flowchart of an example method for reading a looping dynamicmachine-readable optical representation of data.

FIG. 6 is a flowchart of an example method for reading a non-loopingdynamic machine-readable optical representation of data.

FIG. 7 is a flowchart of an example method for displaying a loopingdynamic machine-readable optical representation of data.

FIG. 8 is a flowchart of an example method for displaying a non-loopingdynamic machine-readable optical representation of data.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

While the invention may be embodied in various forms, there are shown inthe drawings, and will hereinafter be described, some exemplary andnon-limiting embodiments, with the understanding that the presentdisclosure is to be considered an exemplification of the invention andis not intended to limit the invention to the specific embodimentsillustrated.

As disclosed in more detail below, example methods are provided forreading, displaying, and generating a dynamic machine-readable opticalrepresentation of data (“dynamic code”). A dynamic code uses a pluralityof frames to potentially store more data than would be possible in anormal (static) optical representation of data. Each frame includes aportion of a data payload and syncdata. For example, syncdata mayinclude a frame display rate, a current frame number, a total number offrames, start and stop frame numbers, etc.

In some embodiments, a dynamic code is displayed on a display device ina continuous loop. For example, a display device may be an LCD monitor.Where the dynamic code is displayed in a continuous loop, a readingdevice (e.g., a smartphone with a camera) captures the currentlydisplayed frame, decodes the syncdata, and stores the captured frame'spayload portion in memory. The reading device repeats the process untilall frames of the dynamic code have been captured. Once all of theframes have been captured, the reading device combines each storedpayload portion to construct the data payload.

FIG. 1 is a physical depiction of an example use of a dynamic code. Adisplay device 110 is connected to a processing device 120. In theillustrated example, the display device 110 is a computer monitor andthe processing device 120 is a personal computer. In embodiments, thedisplay device 110 may be any type of display, such as a television,electronic billboard, display, etc. that is powered by batteries, solarpanels, line power, etc., and the processing device 120 may be astandalone processor or controller, etc. The processing device 120instructs the display device 110 to display frames of a dynamic code130. In the illustrated example, the dynamic code 130 is a dynamic QRcode. A reading device 140 with an optical sensor 150 maintains anunobstructed line of sight 160 to the display device 110 to capture thedisplayed frame of the dynamic code 130. In the illustrated example, thereading device 140 is a smartphone and the optical sensor 150 is thesmartphone's camera.

In the illustrated example, the reading device 140 sends an activationsignal 170 to the processing device 120, instructing the processingdevice 120 to begin display of the dynamic code 130. For example, theactivation signal 170 may be sent via Bluetooth, Bluetooth Low Energy(BLE), near-field communication, and/or WiFi. In embodiments, thereading device 140 may connect to the processing device 120 using a MACaddress of the processing device 120, through the use of passwords,and/or via a cloud service (not shown), e.g., using a URL and/or a SSLlink.

In some embodiments, the reading device 140 sends the activation signal170 after scanning a static code on the display device 110. The staticcode on the display device 110 may indicate that a dynamic code ispresent and can be activated by the reading device 140 (i.e., by sendingan activation signal 170). The static code on the display device 110 mayalso be utilized by reading devices which cannot interpret dynamiccodes. For example, an abstract or summary of the data payload of thedynamic code may be encoded in the static code.

In embodiments, the activation signal 170 may include a desired framedisplay rate. In embodiments, the reading device 140 may send additionalsignals to the processing device 120 to change (e.g., increase ordecrease) the frame display rate. The reading device 140 maintains theline of sight 160 with the display device 110, as the display device 110displays successive frames of the dynamic code 130, until the readingdevice 140 has captured each frame of the dynamic code 130. In someembodiments, the dynamic code 130 is displayed as a picture-in-picture.Displaying the dynamic code 130 as a picture-in-picture enables thedisplay device 110 to simultaneously display the dynamic code 130 andother content.

FIG. 2 is an example frame 200 of a dynamic code 130. In the illustratedexample, the dynamic code 130 is a dynamic QR code. Accordingly, theframe 200 contains position markers 210, an alignment marker 220, and QRmetadata 230 (e.g., version information, format information, etc.). Inthe illustrated example, syncdata 240 is located in the lower rightcorner of the frame 200. The remaining space in the frame 200 is used tostore the data payload portion 250. While the illustrated example is adynamic QR code, any number of encoding schemes may be used to implementa dynamic code. Therefore, in some examples the configuration of thesyncdata, data, and other markers may be different from what is shown inthe figure. For example, the syncdata, data, and other markers may belocated anywhere in a frame.

FIG. 3 is an example timeline 300 illustrating the timing of a loopingdynamic code 130. The dynamic code 130 contains n frames 200 and isdisplayed at a frame display rate f. n is a positive integer, forexample, eleven, and f is a number of frames per unit time, for example,24 frames per second.

Starting at time t=0, the display device 110 displays each frame 200 ofdynamic code 130 one at a time. In the illustrated example, frames 200are displayed in order starting with a first frame 301. Each frame 200is held for an interval 320. The interval 320 is equal to one divided bythe frame display rate, f. For example, where f equals 24 frames persecond, the interval 320 is one twenty-fourth of a second. Accordingly,the final (i.e., nth) frame 302 is displayed at t=(n−1)/f. Since theillustrated example is looping, the sequence restarts with the firstframe 301 at t=n/f.

FIG. 4 is an example timeline 400 illustrating the timing of anon-looping dynamic code 130 activated by an activation signal 170. Thedynamic code 130 contains n frames 200 and is displayed at a framedisplay rate f. n is positive integer, for example, eleven, and f is anumber of frames per unit time, for example, 24 frames per second.

In the illustrated example, at t=0 a reading device 140 sends anactivation signal 170 to a display device 110, which displays thedynamic code 130, one frame 200 at a time. In the illustrated example,frames 200 are displayed in order starting with a first frame 301. Eachframe 200 is held for an interval 320. The interval 320 is equal to onedivided by the frame display rate, f. For example, where f equals 24frames per second, the interval 320 is one twenty-fourth of a second.Accordingly, the final (i.e., nth) frame 302 is displayed at t=(n−1)/f.Since the illustrated example is not looping, the sequence ends afterthe nth frame 302, at t=n/f.

FIG. 5 is a flowchart of an example method 500 for reading a dynamiccode 130. Initially, at block 510, the reading device 140, using anoptical sensor 150, captures a frame 200 displayed by a display device110. In some embodiments, the reading device 140 is a smartphone, theoptical sensor 150 is the smartphone's camera, and the display device110 is an LCD display. At block 520, the reading device 140 decodes thesyncdata 240 from the frame 200. In the illustrated example, decodingthe syncdata 240 includes extracting the total number of frames, a framedisplay rate, and the current frame number from the syncdata 240.

At block 530, the reading device 140 determines whether to store thepayload portion 250 of the current frame 200. If the reading device 140has not stored the current frame number in a list of previously capturedframes, the method 500 proceeds to block 540. If the reading device 140has stored the current frame number in the list of previously capturedframes, the method 500 proceeds to block 565. At block 540, the readingdevice 140 stores the current frame number to the list of previouslycaptured frames. At block 550, the reading device 140 stores the payloadportion 250 of the current frame 200 to memory.

At block 560, the reading device 140 determines whether to combine thepayload portions 250 or to continue capturing frames 200. If the readingdevice 140 has captured all frames 200 of the dynamic code 130, themethod 500 proceeds to block 570. If the reading device 140 has notcaptured all frames 200 of the dynamic code 130, the method 500 proceedsto block 565. In some embodiments, the reading device 140 compares thenumber of frames 200 listed in the list of previously captured frames tothe total number of frames, obtained from the syncdata 240. If thenumber of frames 200 listed in the list of previously captured frames isequal to the total number of frames, then all frames have been captured.

At block 565, the reading device 140 waits for the next frame to displaybefore returning to block 510. In the illustrated example, the timewaited is the reciprocal of the display frame rate (e.g., for a displayframe rate of 24 frames per second, the time waited is one twenty-fourthof a second).

At block 570, the reading device 140 combines each stored payloadportion 250 to construct the payload.

FIG. 6 is a flowchart of an example method 600 for reading a dynamiccode 130, wherein the reading device 140 triggers the display of thedynamic code 130 via an activation signal 170. Initially, at block 610,the reading device 140 sends an activation signal 170 to the displaydevice 110. At block 620, the reading device 140, using an opticalsensor 150, captures a frame 200 displayed by the display device 110. Insome embodiments, the reading device 140 is a smartphone, the opticalsensor 150 is the smartphone's camera, and the display device 110 is anLCD display.

At block 630, the reading device 140 decodes the syncdata 240 from theframe 200. In the illustrated example, decoding the syncdata 240includes extracting the total number of frames, a frame display rate,and the current frame number from the syncdata 240.

At block 640, the reading device 140 determines whether to store thepayload portion 250 of the current frame 200. If the reading device 140has not stored the current frame number in a list of previously capturedframes, the method 600 proceeds to block 650. If the reading device 140has stored the current frame number in the list of previously capturedframes, the method 600 proceeds to block 675. At block 650, the readingdevice 140 stores the current frame number to the list of previouslycaptured frames. At block 660, the reading device 140 stores the payloadportion 250 of the current frame 200 to memory.

At block 665, the reading device 140 determines the final frame number.For example, the reading device 140 may calculate the final frame numberbased on the total number of frames and/or the final frame number may beexplicitly contained in the syncdata 240.

At block 670, the reading device 140 determines whether the currentframe is the final frame. If the current frame number is equal to thefinal frame number, then the current frame is the final frame and themethod 600 proceeds to block 680. If the current frame number is notequal to the final frame number, then the current frame is not the finalframe and the method 600 proceeds to block 675.

At block 675, the reading device 140 waits for the next frame to displaybefore returning to block 610. In the illustrated example, the timewaited is the reciprocal of the display frame rate (e.g., for a displayframe rate of 24 frames per second, the time waited is one twenty-fourthof a second).

At block 680, the reading device 140 combines each stored payloadportion 250 to construct the payload. At block 690, optionally, thereading device 140 stops the display of the dynamic code 130 on thedisplay device 110 by sending a deactivation signal to the displaydevice 110. The deactivation signal may be sent, for example, after thereading device 140 has constructed the payload, such as at block 680.

FIG. 7 is a flowchart of an example method 700 for displaying a dynamiccode 130. Initially, at block 710 a processing device 120 sets a currentframe number variable to an initial value. In the illustrated example,the initial value corresponds with the first frame (i.e., the initialvalue is one, where frames are counted sequentially starting with one).

At block 720, the processing device 120 retrieves a current frame 200from memory. In the illustrated example, the current frame 200 is theframe 200 with a frame number that equals the current frame numbervariable.

At block 730, the processing device 120 displays the current frame 200via a display device 110.

At block 740, the processing device extracts a final frame number fromthe syncdata 240 of the current frame 200. At block 743, the processingdevice 120 determines whether the current frame 200 is the final frame302. In the illustrated example, the processing device 120 compares thefinal frame number to the current frame number. If the current framenumber equals the final frame number, then the current frame is thefinal frame. Otherwise, the current frame is not the final frame. Insome embodiments, however, the current frame contains a final framemarker in the syncdata 240. In such embodiments, block 740 isunnecessary and block 743 determines whether the current frame is thefinal frame based on the final frame marker. If the current frame is thefinal frame, the method 700 proceeds to block 746. If the current frameis not the final frame, the method 700 proceeds to block 749.

At block 746, the processing device 120 sets the current frame numbervariable to the initial value and the method 700 proceeds to block 750.At block 749, the processing device 120 updates the current frame numbervariable to correspond to the next frame. In the illustrated example,the processing device 120 increments (e.g., increases by one) thecurrent frame number variable. In other embodiments, the processingdevice 120 updates the current frame number variable to reflect a nextframe number in the current frame's syncdata 240.

At block 750, the processing device 120 extracts a frame display ratefrom the current frame's syncdata 240. In one embodiment, the framedisplay rate may vary for a particular frame of a dynamic code 130,based on the amount of data in the particular frame. In this embodiment,block 750 may be executed for each frame of a dynamic code 130. Inanother embodiment, the frame display rate may be constant for allframes of a dynamic code 130. For example, the frame display rate may beset to a peak level where there is the maximum amount of data includedin each frame. In such an embodiment, block 750 may be executed for thefirst frame of a dynamic code 130, i.e., to obtain the constant framedisplay rate, but not executed for the remainder of the frames of thedynamic code 130.

At block 760, the processing device 120 holds the current frame on thedisplay device 110 for a time set by the frame display rate. Forexample, for a frame display rate of 24 frames per second, theprocessing device 120 may hold the current frame on the display device110 for one twenty-fourth of a second. After the processing device 120has held the current frame on the display device 110 for the time set bythe frame display rate, the method 700 returns to block 720.

FIG. 8 is a flowchart of an example method 800 for displaying a dynamiccode 130, wherein the reading device 140 triggers the display of thedynamic code 130 via an activation signal 170. Initially, at block 805,the processing device 120 sets a current frame number variable to aninitial value. In the illustrated example, the initial value correspondswith the first frame 301 (i.e., the initial value is one, where framesare counted sequentially starting with one).

At block 810, the processing device 120 retrieves a current frame 200from memory. At block 815, the processing device 120 displays thecurrent frame 200 via the display device 110. In the illustratedexample, the current frame 200, at blocks 810 and 815, is the firstframe 301.

At block 820, the processing device 120 determines whether an activationsignal 170 has been received. If an activation signal 170 has not beenreceived at block 820, then the method 800 returns to block 815 andcontinues to display the current frame 200, i.e., the first frame 301.The first frame 301 is therefore continually displayed until anactivation signal 170 is received at block 820. However, if anactivation signal 170 has been received at block 820, then the method800 proceeds to block 830.

At block 830, the processing device 120 retrieves a current frame 200from memory. In the illustrated example, the current frame 200 is theframe 200 with a frame number that equals the current frame numbervariable.

At block 840, the processing device 120 displays the current frame 200via a display device 110.

At block 850, the processing device extracts a final frame number fromthe syncdata 240 of the current frame 200. At block 853, the processingdevice 120 determines whether the current frame 200 is the final frame302. In the illustrated example, the processing device 120 compares thefinal frame number to the current frame number. If the current framenumber equals the final frame number, then the current frame is thefinal frame. Otherwise, the current frame is not the final frame. Insome embodiments, however, the current frame contains a final framemarker in the syncdata 240. In such embodiments, block 850 isunnecessary and block 853 determines whether the current frame is thefinal frame based on the final frame marker. If the current frame is thefinal frame, the method 800 proceeds to block 856. If the current frameis not the final frame, the method 800 proceeds to block 859.

At block 856, the processing device 120 sets the current frame numbervariable to the initial value. At block 857, the processing device 120extracts a frame display rate from the current frame's syncdata 240. Atblock 858, the processing device 120 holds the current frame on thedisplay device 110 for a time set by the frame display rate. Forexample, for a frame display rate of 24 frames per second, theprocessing device 120 may hold the current frame on the display device110 for one twenty-fourth of a second.

At block 859, the processing device 120 updates the current frame numbervariable to correspond to the next frame. In the illustrated example,the processing device 120 increments (e.g., increases by one) thecurrent frame number variable. In other embodiments, the processingdevice 120 updates the current frame number variable to reflect a nextframe number in the current frame's syncdata 240.

At block 860, the processing device 120 extracts the frame display ratefrom the current frame's syncdata 240. At block 870, the processingdevice 120 holds the current frame on the display device 110 for a timeset by the frame display rate. For example, for a frame display rate of24 frames per second, the processing device 120 may hold the currentframe on the display device 110 for one twenty-fourth of a second. Afterthe processing device 120 has held the current frame on the displaydevice 110 for the time set by the frame display rate, the method 800returns to block 830.

In this application, the use of the disjunctive is intended to includethe conjunctive. The use of definite or indefinite articles is notintended to indicate cardinality. In particular, a reference to “the”object or “a” and “an” object is intended to denote also one of apossible plurality of such objects. Further, the conjunction “or” may beused to convey features that are simultaneously present instead ofmutually exclusive alternatives. In other words, the conjunction “or”should be understood to include “and/or”. The terms “includes,”“including,” and “include” are inclusive and have the same scope as“comprises,” “comprising,” and “comprise” respectively.

The above-described embodiments, and particularly any “preferred”embodiments, are possible examples of implementations and merely setforth for a clear understanding of the principles of the invention. Manyvariations and modifications may be made to the above-describedembodiment(s) without substantially departing from the spirit andprinciples of the techniques described herein. All modifications areintended to be included herein within the scope of this disclosure andprotected by the following claims.

What is claimed is:
 1. A method of transmitting a data payload encodedin a machine-readable time-variant optical representation comprising aplurality of frames, the method comprising: receiving, by a processor ofan electronic display, an activation signal configured to cause theplurality of frames to be displayed; and responsive to receiving theactivation signal: (A) displaying a current frame of the plurality offrames on the electronic display, the current frame corresponding to acurrent frame number, wherein each of the plurality of frames comprisessyncdata and a portion of the data payload; (B) determining a next framenumber corresponding to a next frame of the plurality of frames, basedon the syncdata from the current frame, using the processor; (C)updating the current frame number to equal the next frame number, usingthe processor; (D) determining a frame display rate, based on thesyncdata, using the processor; (E) holding the current frame on thedisplay for a time period corresponding to the frame display rate, usingthe processor; and (F) repeating steps (A)-(F) with the next frame asthe current frame.
 2. The method of claim 1: further comprisingdisplaying a static code on the electronic display, wherein the staticcode is configured to cause a device to transmit the activation signal;wherein receiving the activation signal comprises receiving, by theprocessor of the electronic display from the device, the activationsignal configured to cause the plurality of frames to be displayed. 3.The method of claim 1, wherein determining the next frame number, basedon the syncdata from the current frame, comprises any one of:incrementing the current frame number; or extracting the next framenumber from the syncdata.
 4. The method of claim 1, further comprising:displaying a first frame of the plurality of frames on the electronicdisplay, prior to receiving the activation signal.
 5. The method ofclaim 1, wherein: determining the next frame number comprises:determining whether the current frame is a final frame, based on thesyncdata from the current frame; determining the next frame numbercorresponding to the next frame of the plurality of frames, based on thesyncdata from the current frame, if the current frame is not the finalframe; and updating the current frame number to equal the next framenumber, if the current frame is not the final frame; and repeating steps(A)-(F) comprises repeating steps (A)-(F) with the next frame as thecurrent frame, if the current frame is not the final frame.
 6. Themethod of claim 5, wherein determining whether the current frame is thefinal frame comprises any one of: reading a final frame marker in thesyncdata of the current frame; reading the next frame number in thesyncdata, wherein the next frame number is null; or reading the nextframe number in the syncdata, wherein the next frame number is a lowernumber than the current frame number.
 7. The method of claim 5, whereindetermining the next frame number, based on the syncdata from thecurrent frame, comprises any one of: incrementing the current framenumber; or extracting the next frame number from the syncdata.
 8. Themethod of claim 1, further comprising: receiving the data payload at theprocessor for encoding into the plurality of frames; determining aquantity of frames of the optical representation for encoding the datapayload, using the processor; and generating the plurality of frames ofthe determined quantity, using the processor, wherein each of theplurality of frames comprises the syncdata and the portion of the datapayload.
 9. A system for transmitting a data payload encoded in amachine-readable time-variant optical representation comprising aplurality of frames, the system comprising: an electronic display havinga processor configured to: receive an activation signal configured tocause the plurality of frames to be displayed on the electronic display;and; responsive to receiving the activation signal: (A) display acurrent frame of the plurality of frames on the electronic display, thecurrent frame corresponding to a current frame number, wherein each ofthe plurality of frames comprises syncdata and a portion of the datapayload; (B) determine a next frame number corresponding to a next frameof the plurality of frames, based on the syncdata from the currentframe; (C) update the current frame number to equal the next framenumber; (D) determine a frame display rate, based on the syncdata; (E)hold the current frame on the electronic display for a time periodcorresponding to the frame display rate; and (F) repeat steps (A)-(F)with the next frame as the current frame.
 10. The system of claim 9:wherein the processor is further configured to display a static code onthe electronic display, wherein the static code is configured to cause adevice to transmit the activation signal; and wherein the processor isconfigured to receive the activation signal by receiving, from thedevice, the activation signal configured to cause the plurality offrames to be displayed.
 11. The system of claim 9, wherein the processoris further configured to determine the next frame number, based on thesyncdata from the current frame, by performing any one of: incrementingthe current frame number; or extracting the next frame number from thesyncdata.
 12. The system of claim 9, wherein the processor is furtherconfigured to: display a first frame of the plurality of frames on theelectronic display, prior to receiving the activation signal.
 13. Thesystem of claim 9, wherein the processor is further configured to:determine the next frame number by: determining whether the currentframe is a final frame, based on the syncdata from the current frame;determining the next frame number corresponding to the next frame of theplurality of frames, based on the syncdata from the current frame, ifthe current frame is not the final frame; and updating the current framenumber to equal the next frame number, if the current frame is not thefinal frame; and repeat steps (A)-(F) by repeating steps (A)-(F) withthe next frame as the current frame, if the current frame is not thefinal frame.
 14. The system of claim 13, wherein the processor isfurther configured to determine whether the current frame is the finalframe by performing any one of: reading a final frame marker in thesyncdata of the current frame; reading the next frame number in thesyncdata, wherein the next frame number is null; or reading the nextframe number in the syncdata, wherein the next frame number is a lowernumber than the current frame number.
 15. The system of claim 13,wherein the processor is further configured to determine the next framenumber, based on the syncdata from the current frame, by performing anyone of: incrementing the current frame number; or extracting the nextframe number from the syncdata.
 16. The system of claim 9, wherein theprocessor is further configured to: receive the data payload forencoding into the plurality of frames; determine a quantity of frames ofthe optical representation for encoding the data payload; and generatethe plurality of frames of the determined quantity, wherein each of theplurality of frames comprises the syncdata and the portion of the datapayload.